package com.unit1;

public class ArraySearch2 {
    //二分法查找
    //查找的目标数组必须是有序的
    public static void main(String[] args) {
        //目标数组
        int[] ar = new int[]{2,3,4,5,6,7,8,9,10};
        //目标元素
        int target = 3;
        //记录开始位置
        int begin = 0;
        //记录结束位置
        int end = ar.length-1;
        //记录中间的位置
        int mid = (begin+end)/2;
        //目标元素位置
        int index = -1;
        //循环查找
        while (true){
            if (ar[mid]==target){
                index = mid;
                break;
            }else {
                //判断中间这个元素是不是不是比目标元素大
                if (ar[mid]>target){
                    //把结束位置调整到中间位置的前一个位置
                    end = mid-1;
                }else {
                    //把开始的位置调整到中间位置的后一个位置
                    begin = mid+1;
                }
                mid=(begin+end)/2;
            }
        }
        System.out.println("index："+index);
    }
}
